﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Services;

namespace ZHDJ.MobileInterface
{
    /// <summary>
    /// PartyZhongGuoMeng 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务，请取消注释以下行。 
    [System.Web.Script.Services.ScriptService]
    public class PartyZhongGuoMeng : System.Web.Services.WebService
    {
        ///// <summary>
        ///// 中国梦
        ///// </summary>
        ///// <param name="Type">类型</param>
        ///// <param name="user_id">用户ID</param>
        ///// <param name="studyinfo">课程学习信息</param>
        ///// <param name="progress">课程进度</param>
        ///// <param name="courseId">课程ID</param>
        ///// <returns>结果</returns>
        //[WebMethod(Description = "中国梦Get接口")]
        //public void GetZhongGuoMeng(string SystemCode, string user_id, string courseId)
        //{
        //    HttpContext.Current.Response.ContentType = "application/json;charset=utf-8";
        //    ZhongGuoMengGameOutParam result = new ZhongGuoMengGameOutParam();
        //    bool isFlag = true;
        //    try
        //    {
        //        CommonUtils.InsertMobileInterfaceLog(SystemCode + "-PartyZhongGuoMeng", "", SystemCode + user_id + courseId); 
        //        if (string.IsNullOrEmpty(SystemCode) || string.IsNullOrEmpty(user_id) || string.IsNullOrEmpty(courseId))
        //        {
        //            result.code = "0";
        //            result.desc = "数据有误，请联系管理员。";
        //            isFlag = false;
        //        }

        //        //检查当前用户是否有信息 true 存在 false 不存在    
        //        if (isFlag)
        //        {
        //            if (!InterfaceHelper.checkData(user_id, courseId))
        //            {
        //                if (!InterfaceHelper.InsertZGMData(user_id, courseId))
        //                {
        //                    result.code = "0";
        //                    result.desc = "用户数据创建失败，请联系管理员。";
        //                    isFlag = false;
        //                }
        //            }
        //        }
        //        if (isFlag)
        //        {
        //            if (SystemCode != "ZHDJ_SDLD_141224")
        //            {
        //                result.code = "0";
        //                result.desc = "厂商数据有误，请联系管理员。";
        //                isFlag = false;
        //            }
        //        }
        //        if (isFlag)
        //        {
        //            DataSet ds = InterfaceHelper.Get(user_id, courseId);
        //            if (ds.Tables[0].Rows.Count > 0)
        //            {
        //                Data itemtemp;
        //                result.data.user_id = user_id;
        //                foreach (DataRow dr in ds.Tables[0].Rows)
        //                {
        //                    itemtemp = new Data();
        //                    itemtemp.studyInfo = ds.Tables[0].Rows[0]["studyInfo"].ToString();
        //                    itemtemp.courseId = ds.Tables[0].Rows[0]["courseId"].ToString();
        //                    itemtemp.progress = ds.Tables[0].Rows[0]["progress"].ToString();
        //                    result.data.list.Add(itemtemp);
        //                }
        //            }
        //        }
        //    }
        //    catch (Exception)
        //    {
        //        result.code = "0";
        //        result.desc = "操作异常，多次出现请联系管理员";
        //    }
        //    string result2 = string.Empty;
        //    string jsoncallback = HttpContext.Current.Request["jsoncallback"];
        //    if (!string.IsNullOrEmpty(jsoncallback))
        //    {
        //        result2 = jsoncallback + "(" + SerializeHelper.JsonSerializer<ZhongGuoMengGameOutParam>(result) + ")";
        //        HttpContext.Current.Response.Write(result2);
        //        HttpContext.Current.Response.End();
        //    }
        //    else
        //    {
        //        result2 = SerializeHelper.JsonSerializer<ZhongGuoMengGameOutParam>(result);
        //        HttpContext.Current.Response.Write(result2);
        //        HttpContext.Current.Response.End();
        //    }
        //    CommonUtils.InsertMobileInterfaceLog(SystemCode + "-PartyZhongGuoMeng", "", result.code + result.desc); 
        //}

        //[WebMethod(Description = "中国梦Set接口")]
        //public void SetZhongGuoMeng(string SystemCode, string studyInfo, string progress, string courseId, string user_id)
        //{
        //    HttpContext.Current.Response.ContentType = "application/json;charset=utf-8";
        //    ZhongGuoMengGameOutParam result = new ZhongGuoMengGameOutParam();
        //    bool isFlag = true;

        //    if (string.IsNullOrEmpty(SystemCode) || string.IsNullOrEmpty(user_id) || string.IsNullOrEmpty(courseId))
        //    {
        //        result.code = "0";
        //        result.desc = "数据有误，请联系管理员。";
        //        isFlag = false;
        //    }
        //    //检查当前用户是否有信息 true 存在 false 不存在    
        //    if (isFlag)
        //    {
        //        if (!InterfaceHelper.checkData(user_id, courseId))
        //        {
        //            if (!InterfaceHelper.InsertZGMData(user_id, courseId, progress, studyInfo))
        //            {
        //                result.code = "0";
        //                result.desc = "用户数据创建失败，请联系管理员。";
        //                isFlag = false;
        //            }
        //        }
        //    }
        //    if (isFlag)
        //    {
        //        if (SystemCode != "ZHDJ_SDLD_141224")
        //        {
        //            result.code = "0";
        //            result.desc = "厂商数据有误，请联系管理员。";
        //            isFlag = false;
        //        }
        //    }
        //    //update数据 true 成功 false 不成功
        //    if (!InterfaceHelper.UpdateZGMData(user_id, courseId, progress, studyInfo))
        //    {
        //        result.code = "0";
        //        result.desc = "用户数据更新失败，请联系管理员。";
        //    }
        //    result.data.user_id = user_id;
        //    string result2 = string.Empty;
        //    string jsoncallback = HttpContext.Current.Request["jsoncallback"];
        //    if (!string.IsNullOrEmpty(jsoncallback))
        //    {
        //        result2 = jsoncallback + "(" + SerializeHelper.JsonSerializer<ZhongGuoMengGameOutParam>(result) + ")";
        //        HttpContext.Current.Response.Write(result2);
        //        HttpContext.Current.Response.End();
        //    }
        //    else
        //    {
        //        result2 = SerializeHelper.JsonSerializer<ZhongGuoMengGameOutParam>(result);
        //        HttpContext.Current.Response.Write(result2);
        //        HttpContext.Current.Response.End();
        //    }
        //    //return SerializeHelper.JsonSerializer<ZhongGuoMengGameOutParam>(result);
        //}
    }



    #region 请求参数
    //public class ZhongGuoMengGameInParam
    //{
    //    /// <summary>
    //    /// 厂商编号
    //    /// </summary>
    //    public string SystemCode { get; set; }
    //    /// <summary>
    //    /// 类型
    //    /// </summary>
    //    public string Type { get; set; }

    //    /// <summary>
    //    ///	课程学习信息
    //    /// </summary>
    //    public string studyinfo
    //    { get; set; }

    //    /// <summary>
    //    ///	课程进度
    //    /// </summary>
    //    public string progress
    //    { get; set; }

    //    /// <summary>
    //    /// 课程ID
    //    /// </summary>
    //    public string courseId
    //    { get; set; }

    //    /// <summary>
    //    /// 用户ID
    //    /// </summary>
    //    public string user_id
    //    { get; set; }
    //}
    #endregion

    #region 结果参数
    public class ZhongGuoMengGameOutParam
    {
        public ZhongGuoMengGameOutParam()
        {
            code = "1";
            desc = "操作成功";
            data = new DataList();
        }

        /// <summary>
        /// 返回结果 具体见接口返回对照码 1	成功 0	失败 2	请求非法 加密结果和传入的MD5字符串进行比较，如果相同则执行接口操作，否则返回1001错误响应码
        /// </summary>
        public string code
        { get; set; }

        /// <summary>
        /// 结果描述 成功和失败都需要
        /// </summary>
        public string desc
        { get; set; }

        /// <summary>
        /// 数据集
        /// </summary>
        public DataList data
        { get; set; }
    }

    public class DataList
    {
        /// <summary>
        /// 用户ID
        /// </summary>
        public string user_id
        { get; set; }

        public DataList()
        {
            list = new List<Data>();
        }

        public List<Data> list { get; set; }
    }
    /// <summary>
    /// 数据
    /// </summary>
    public class Data
    {
        /// <summary>
        /// 课程学习信息
        /// </summary>
        public string studyInfo
        { get; set; }

        /// <summary>
        /// 课程ID
        /// </summary>
        public string courseId
        { get; set; }

        /// <summary>
        /// 课程进度
        /// </summary>
        public string progress
        { get; set; }
    }
    #endregion
}
